// pages/home/index.js
const util = require("../../../../utils/util.js");
const App = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    navStyle: [],
    apiUrl: util.apiUrl,
    goodList: [],
    kw: "",
    currentPage: 1,
    pageSize: 10,
    empty_image: '', 
    scrollTop: 0,
    loadmore: 'end',
    loading: true,
    position: App.globalData.position
  },

  //搜索--功能
  search: async function (e) {
    if(this.data.kw != ''){
      this.setData({loading: true});
      this.data.currentPage = 1;
      this.getDataList(true);
    }
  },
  searchChange(event){
    this.setData({
      kw:event.detail.value
    })
  },

  //获取列表数据--列表-搜索
  async getDataList(isSearch = false) {
    try {
      const listParamsR = {
        kw: this.data.kw,
        lat: this.data.position ? this.data.position.lat : 0,
        lng: this.data.position ? this.data.position.lng : 0,
        page: this.data.currentPage,
        limit: this.data.pageSize
      };

      util
        .request("/api/goods/index", listParamsR, "GET")
        .then((res) => {
          this.setData({
            loadmore: 'end',
            loading: false
          });

          const result = res.data;
          if(result.code !== 0) return;

          const list = result.data;
          if (list.length > 0) {
            if(isSearch){
              this.setData({
                goodList: list /* 商品列表 */ ,
              });
            } else {
              this.setData({
                goodList: this.data.goodList.concat(list),
               });
            }

            wx.lin.renderWaterFlow(list, isSearch ,()=>{
              this.setData({
                loadmore: 'end'
              });
            })
          }
        });
    } catch (err) {
      console.log(err);
      this.setData({
        loadmore: 'end'
      });
    }
  },
  // 返回上一页
  navigateBack() {
    wx.navigateBack({
      delta: 1
    })
  },
  // 跳转商品详情页
  goodsInfo(e) {
    const {
      id
    } = e.detail.item;
    wx.navigateTo({
      url: "/modules/goodsModule/pages/goodsinfo/goodsinfo?id=" + id,
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 动态设置 tabBar 的整体样式
    this.setData({
      empty_image: util.Background_base64('static/image/goods/noGoods.png'), // 转化本地图片地址为base64格式
      navStyle: App.globalData,
      kw: options.kw
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.search();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(this.data.loadmore === 'loading') return;
    this.setData({
      loadmore: 'loading'
    });

    // 更新页码，准备获取下一页数据
    this.data.currentPage += 1;
    this.getDataList();
  },

  onPageScroll: function(e) {
    this.setData({
      scrollTop: e.scrollTop
    });
  }
});